import requests
from bs4 import BeautifulSoup
import csv

#前置：使用Requests 获取URL的response
url = "http://www.techlabplt.com:8080/BD-PC/priceList"
resp = requests.get(url)
resp.encoding = 'UTF-8'
'''
使用BS4解析数据,并输出
'''
#1.把页面源代码交给BeautifulSoup进行处理，生成BS对象并指定html解析器
pageHtml = BeautifulSoup(resp.text, "html.parser")
#2.获取html内的div，div的class为tbl-body。里面包含着需要爬取的数据
tableDiv = pageHtml.find("div", attrs={"class": "tbl-body"})
#3.获取所有的tr
dataDiv = tableDiv.findAll("tr")
#4.删除第一个表头数据
del(dataDiv[0])
#5新建命名为data.csv的CSV文件并写入表头信息
with open("D:\pycharm community\lab\data.csv", 'w', newline="") as csvFile:
    fieldNames = ['大类', '小类', '名称', '最低价', '平均价', '最高价', '规格', '来源', '单位', '更新日期']
    writer = csv.DictWriter(csvFile, fieldnames=fieldNames)
    writer.writeheader()
    #6.循环遍历每一行的数据
    for data in dataDiv:
        #得到每一行中的每一列
        oneData = data.findAll("td")
        #输出：每一行存储至CSV文件
        writer.writerow({'大类': oneData[0].text, '小类': oneData[1].text,
'名称': oneData[2].text, '最低价': oneData[3].text,
'平均价': oneData[4].text, '最高价': oneData[5].text,
                       '规格': oneData[6].text, '来源': oneData[7].text,
                       '单位': oneData[8].text, '更新日期': oneData[9].text})
